/**
*
*/
package de.yaams.extensions.rgssproject.map;
import java.util.HashMap;
import de.yaams.extensions.basemap.BaseMapPlugin;
import de.yaams.extensions.rgssproject.database.DatabasePlugin;
import de.yaams.extensions.rgssproject.database.RGSS1Helper.Type;
import de.yaams.extensions.rgssproject.map.nevent.command.AnimationCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.AudioPlayCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.AudioStopCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.BattleActionCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.BattleAudioCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.BattleCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.BattleDamageCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.BreakCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.CallCommonEventCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.ChangeEnemyCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.ChangeHeroNameGraphicCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.ChoiceCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.CommentCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.ConditionCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.ErrorCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.FogCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.HeroChangeCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.HeroInputCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.HeroTransparencyCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.InputCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.ItemCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.LabelCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.LocalSwitchCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.LoopBreakCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.LoopCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.MapMoveCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.MapSettingCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.MessageCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.MessageDisplayCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.MoveCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.NewCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.PartyCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.PartyValueCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.PermissionCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.PictureDelCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.PictureRotateCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.PictureShowMoveCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.PictureToneCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.SceneCallCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.ScreenColorCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.ScreenShakeCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.ScriptCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.SetWindowSkinCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.ShopCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.SwitchCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.TeleportCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.TimerCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.ToneChangeCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.TransitionCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.VariableCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.WaitCommand;
import de.yaams.extensions.rgssproject.map.nevent.command.WeatherCommand;
import de.yaams.extensions.rgssproject.map.nevent.core.EventCommandManagement;
import de.yaams.extensions.rgssproject.map.rxdata.RXDataWriter;
import de.yaams.maker.helper.extensions.ExtentionManagement;
import de.yaams.maker.helper.extensions.IExtension;
import de.yaams.maker.programm.project.Project;
/**
* @author Nebli
*
*/
public class MapPlugin {
/**
*
*/
public MapPlugin() {
registerEventCommands();
// add db
ExtentionManagement.add(Project.EXLOAD, new IExtension() {
@Override
public void work(HashMap<String, Object> objects) {
final Project p = (Project) objects.get("project");
// add
DatabasePlugin.add(Type.MAP, p, "Welt", true, false);
DatabasePlugin.add(Type.TILESET, p, "Welt", true, false);
DatabasePlugin.add(Type.COMMONEVENT, p, "Welt", true, false);
// add
// ary.add(new ProjectAction(I18N.t("Maps"),
// I18N.t("Erstellt und ändert die Karten/die Spielwelt"),
// "map", p) {
//
// @Override public void perform() {
// YaFrame.open(new MTab(project));
// }
// });
}
});
// add mapsupport
BaseMapPlugin.getPlugs().add(new RXDataWriter());
}
/**
*
*/
protected void registerEventCommands() {
// register evemt commands
EventCommandManagement.register(-1, new ErrorCommand(), false);
EventCommandManagement.register(0, new NewCommand(), false);
EventCommandManagement.register(101, new MessageCommand(), true);
EventCommandManagement.registerM(new ChoiceCommand(), 102, 404, 402, 403);
EventCommandManagement.register(104, new MessageDisplayCommand(), true);
EventCommandManagement.registerM(new InputCommand(), 103, 105);
EventCommandManagement.register(106, new WaitCommand(), true);
EventCommandManagement.register(108, new CommentCommand(), true);
EventCommandManagement.registerM(new ConditionCommand(), 111, 411, 412);
EventCommandManagement.registerM(new LoopCommand(), 112, 413);
EventCommandManagement.register(113, new LoopBreakCommand(), true);
EventCommandManagement.registerM(new BreakCommand(), 115, 116, 340);
EventCommandManagement.register(117, new CallCommonEventCommand(), true);
EventCommandManagement.registerM(new LabelCommand(), 118, 119);
EventCommandManagement.register(121, new SwitchCommand(), true);
EventCommandManagement.register(122, new VariableCommand(), true);
EventCommandManagement.register(123, new LocalSwitchCommand(), true);
EventCommandManagement.registerM(new TimerCommand(), 124);
EventCommandManagement.registerM(new ItemCommand(), 125, 126, 127, 128);
EventCommandManagement.registerM(new PartyCommand(), 129);
EventCommandManagement.registerM(new SetWindowSkinCommand(), 131);
EventCommandManagement.registerM(new BattleAudioCommand(), 132, 133);
EventCommandManagement.registerM(new PermissionCommand(), 134, 135, 136);
EventCommandManagement.registerM(new TeleportCommand(), 201, 202);
EventCommandManagement.registerM(new MapMoveCommand(), 203);
EventCommandManagement.registerM(new MapSettingCommand(), 204);
EventCommandManagement.registerM(new ToneChangeCommand(), 205, 223);
EventCommandManagement.registerM(new FogCommand(), 206);
EventCommandManagement.registerM(new AnimationCommand(), 207, 337);
EventCommandManagement.registerM(new HeroTransparencyCommand(), 208);
EventCommandManagement.registerM(new MoveCommand(), 209, 210);
EventCommandManagement.registerM(new TransitionCommand(), 221, 222);
EventCommandManagement.registerM(new ScreenColorCommand(), 224);
EventCommandManagement.registerM(new ScreenShakeCommand(), 225);
EventCommandManagement.registerM(new PictureShowMoveCommand(), 231, 232);
EventCommandManagement.registerM(new PictureRotateCommand(), 233);
EventCommandManagement.registerM(new PictureToneCommand(), 234);
EventCommandManagement.registerM(new PictureDelCommand(), 235);
EventCommandManagement.registerM(new WeatherCommand(), 236);
EventCommandManagement.registerM(new AudioPlayCommand(), 249, 250, 245, 241);
EventCommandManagement.registerM(new AudioStopCommand(), 242, 246, 247, 248, 251);
EventCommandManagement.registerM(new BattleCommand(), 301, 999, 601, 602, 603);
EventCommandManagement.registerM(new ShopCommand(), 302, 605);
EventCommandManagement.registerM(new HeroInputCommand(), 303);
EventCommandManagement.registerM(new PartyValueCommand(), 311, 312, 313, 314, 315, 316);
EventCommandManagement.registerM(new HeroChangeCommand(), 317, 318, 319, 321);
EventCommandManagement.registerM(new ChangeHeroNameGraphicCommand(), 320, 322);
EventCommandManagement.registerM(new ChangeEnemyCommand(), 331, 332, 333, 334, 335, 336);
EventCommandManagement.registerM(new BattleDamageCommand(), 338);
EventCommandManagement.registerM(new BattleActionCommand(), 339);
EventCommandManagement.registerM(new SceneCallCommand(), 351, 352, 353, 354);
EventCommandManagement.register(355, new ScriptCommand(), true);
}
}